package com.itheima.mapper;

import com.itheima.domain.Student;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface StudentMapper {
    /*使用注解开发*/
    /*查询学生信息*/
    @Select("select * from student")
    public List<Student> findAll();
    /*根据条件查询学生信息*/
//    @Select("select * from student where name=#{arg0} and age=#{arg1}")
    /*多个条件查询信息*/
    @Select("select * from student where name=#{name} and age=#{age}")
    List<Student> findByNameAndAge(@Param("name") String name,@Param("age") int age);

    /*添加学生信息*/
    @Insert("insert into student (id,name,age) values (#{id},#{name},#{age})")
    //获取自增id值:keyColmun指定自增列的列名；keyProperty指定自增列封装到哪个属性上
    /*
    * 需要用到自增主键时，需要查询添加的学生的id时要加上这句，因为如果基于name和age查询可能会重复
    * keyColumn返回自增主键，并将其封装到stu对象中插入成功后，可以通过stu获取自增的id值
    * */
    @Options(useGeneratedKeys =true,keyProperty = "id",keyColumn = "id")
    Integer addStu(Student stu);
    /*修改学生信息*/
    @Update("update student set name=#{name},age=#{age} where id=#{id}")
    Integer updateStu(Student stu);
    /*删除学生信息*/
    @Delete("delete from student where id=#{id}")
    Integer deleteStu(Integer id);
























}
